home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
logs
/
logbook
/
dxccmb.prg
< prev
next >
Wrap
Text File
|
1990-05-04
|
5KB
|
152 lines
*:*********************************************************************
*:
*: Program: DXCCMB.PRG
*:
*: System: PC-HAM Logbook
*: Author: Joe Kasser G3ZCZ
*: Copyright (c) 1990, Joe Kasser
*: Last modified: 04/27/90 13:29
*:
*: Called by: DXCCSB.PRG
*: : DXCC5B.PRG
*:
*: Uses: &LOGBOOK.DBF
*: : &DXCC
*:
*: Indexes: &LOGNDX
*:
*: Documented 05/04/90 at 13:50 SNAP! version 3.12f
*:*********************************************************************
*MBDXCC AUTOMATICALLY UPDATES DXCC RECORDS FROM LOG DATABASE
* COPYRIGHT JOE KASSER G3ZCZ 1985
STORE 0 TO worked
STORE 0 TO qsled
both = 0
SELECT 1
USE &logbook INDEX &logndx
SELECT 2
USE &dxcc
DO WHILE .not. EOF()
? px
IF dstate = 'Q'
* ALREADY IN DXCC RECORD, IGNORE REST'
STORE .F. TO qslflag
STORE qsled + 1 TO qsled
ELSE
STORE 0 TO workedflag
STORE .t. TO qslflag
* NOT WORKED YET, SO TRY LOG FOR UPDATE'
STORE TRIM(px) TO prefix
SELECT 1
FIND &prefix
IF (EOF() .or. BOF())
* NO FIND, TRY ALTERNATE PREFIX
SELECT 2
IF SUBSTR(px1,1,1) = ' '
* NO ALTERNATE PREFIX, GO TO NEXT PREFIX'
ELSE
STORE TRIM(px1) TO prefix
SELECT 1
FIND &prefix
IF (EOF() .or. BOF())
*NO FIND AGAIN, GO TO NEXT PREFIX '
ELSE
* FOUND SOMETHING FOR PX1 '
DO WHILE CALL = prefix .and. qslflag
IF qslrx = 'R' .and. band = thisband
*FOUND A QSL'
STORE .F. TO qslflag
STORE CALL TO CALL
STORE DATE TO DATE
STORE TIME TO TIME
STORE mode TO mode
STORE band TO band
SELECT 2
REPLACE dcall WITH CALL
REPLACE ddate WITH DATE
REPLACE dtime WITH TIME
REPLACE dmode WITH mode
REPLACE dband WITH band
STORE qsled + 1 TO qsled
REPLACE dstate WITH 'Q'
SKIP -1
ELSE
IF workedflag = 0
IF band = thisband
STORE RECNO() TO workedflag
ENDIF
ENDIF
ENDIF
SKIP
ENDDO
ENDIF
ENDIF
ELSE
*FOUND SOMETHING FOR PX, see IF its qsled'
DO WHILE CALL = prefix .and. qslflag
IF qslrx = 'R' .and. band = thisband
STORE .F. TO qslflag
*FOUND A QSL'
STORE CALL TO CALL
STORE DATE TO DATE
STORE TIME TO TIME
STORE mode TO mode
STORE band TO band
SELECT 2
REPLACE dstate WITH 'Q'
STORE qsled + 1 TO qsled
REPLACE dcall WITH CALL
REPLACE ddate WITH DATE
REPLACE dtime WITH TIME
REPLACE dmode WITH mode
REPLACE dband WITH band
SKIP -1
ELSE
IF workedflag = 0
IF band = thisband
STORE RECNO() TO workedflag
ENDIF
ENDIF
ENDIF
SKIP
ENDDO
ENDIF
ENDIF
SELECT 2
IF qslflag
IF workedflag = 0
* PREFIX WAS NOT WORKED EITHER
ELSE
SELECT 1
GOTO workedflag
STORE worked + 1 TO worked
STORE CALL TO CALL
STORE DATE TO DATE
STORE TIME TO TIME
STORE mode TO mode
STORE band TO band
SELECT 2
REPLACE dcall WITH CALL
REPLACE ddate WITH DATE
REPLACE dtime WITH TIME
REPLACE dmode WITH mode
REPLACE dband WITH band
REPLACE dstate WITH 'W'
ENDIF
ENDIF
both = worked + qsled
?? dcall, dband, dstate, qsled, worked, both
SKIP
ENDDO
SELECT 2
USE
SELECT 1
USE
RELEASE worked,workedflag,qsled,prefix,qslflag,CALL,DATE,TIME,mode,band,both
RETURN
*: EOF: DXCCMB.PRG